# coding:utf8
from random import randint


# 任务 过滤掉随机生成的列表中小于0的值
data = [randint(-10, 10) for _ in range(10)]
print(data)
# 方法一 使用filter函数
data1 = filter(lambda x: x > 0, data)
print(data1)

# 方法二 列表解析
data2 = [x for x in data if x > 0]
print(data2)

# 列表解析更快，但两种方法都远快于迭代方法






# 任务 过滤随机生成的字典
name = ['shisongyan', 'cailele', 'lizhengyong', 'wanfu', 'dapeng', 'lishu', 'xiaohua', 'zexu', 'lihe']
d = {x: randint(0, 100) for x in name}
print (d)
# 字典解析
d_ = {k: v for k, v in d.iteritems() if v > 80 or v < 50}
print(d_)





# 任务 过滤随机生成的集合

data = set(range(1, 10, 2))
print (data)
data_ = {x for x in data if x % 3 == 0}
print (data_)
